package com.manage.platform.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * YWD
 * 2025/9/29
 */
@Accessors(chain = true)
@Data
@TableName(value = "t_achieve")
public class AchieveEntity implements Serializable {

    @TableId(type = IdType.AUTO)
    @Schema(description = "成果ID")
    private Long id;

    @Schema(description = "创建人ID")
    private Long userId;

    @Schema(description = "成果类别(OTHER=其他)")
    private String category;

    @Schema(description = "成果名称")
    private String name;

    @Schema(description = "成果日期")
    private String achieveDate;

    @Schema(description = "信息来源")
    private String source;

    @Schema(description = "原始链接URL")
    private String originalLink;

    @Schema(description = "备用链接URL")
    private String backupLink;

    @Schema(description = "成果详情")
    private String details;

    @Schema(description = "是否公开(0=否,1=是)")
    private Integer isPublic;

    @Schema(description = "审批状态(0=待审批,1=已处理,2=已驳回)")
    private Integer status;

    @Schema(description = "审批人ID")
    private Long approvalId;

    @Schema(description = "审批时间")
    private String approvalDate;

    @Schema(description = "审批意见")
    private String approvalRemark;

    @Schema(description = "创建时间")
    private String createTime;

    @Schema(description = "更新时间")
    private String updateTime;

    @TableLogic
    @Schema(description = "是否删除(0=否,1=是)")
    private Integer isDeleted;

}
